unit SmallStruct.Model.TSSModel;

interface

uses SmallStruct.Core,
  SmallStruct.Core.TSSRuntimeObject,
  SmallStruct.Core.TSSObjectContext,
  SmallStruct.Model,
  SmallStruct.Configuration;

type
  TSSModelContext = class(TSSObjectContext, ISSModelContext)
  end;

  TSSModel = class(TSSRuntimeObject, ISSModel)
  protected
    function GetModelConfiguration: ISSModelConfiguration;
    function GetModelContext: ISSModelContext;
  public
  end;

  TSSModelClass = class of TSSModel;

implementation

{ TSSModel }

function TSSModel.GetModelConfiguration: ISSModelConfiguration;
begin
  Result := GetContext.GetConfiguration as ISSModelConfiguration;
end;

function TSSModel.GetModelContext: ISSModelContext;
begin
  Result := GetContext as ISSModelContext;
end;

end.
